CS1 Standard Demo Page

The following text was written to the standard output stream when the AlternateBalloons.java program was executed from IntelliJ.

/*
 * Program that paints 300 red, yellow, orange and random color balloons in one sky.
 * It will feature commands
 */
package npw;

import painter.SPainter;
import shapes.SCircle;
import shapes.SSquare;

import javax.swing.*;
import java.awt.*;
import java.util.Random;

public class AlternateBalloons {
    //REQUIRED INFRASTRUCTURE
    public AlternateBalloons() {
        paintTheImage();
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new AlternateBalloons();
            }
        });
    }
    // THE PAINTER DOING ITS THING
    private void paintTheImage() {
        SPainter painter= new SPainter("AlternateBalloons" , 600 ,600);
        paintSky(painter);
        int nrOfAlternateBalloons = 300;
        paintAlternateBalloons(painter, nrOfAlternateBalloons);
    }

    private void paintAlternateBalloons(SPainter painter, int nrOfAlternateBalloons) {
        int i = 1;
        while (i <= nrOfAlternateBalloons) {
            paintOneAlternateBalloon(painter);
            i = i + 1;
        }
    }

    private void paintOneAlternateBalloon(SPainter painter) {
        Random rgen = new Random();
        int rn =  rgen.nextInt(6);
        if ( rn == 0 ) {
            painter.setColor(Color.RED);
        } else if ( rn == 1) {
            painter.setColor(Color.ORANGE);
        } else if ( rn == 2) {
            painter.setColor(Color.YELLOW);
        } else if (rn == 3) {
            painter.setColor(randomColor());
        } else if (rn == 4) {
            painter.setColor(randomColor());
        } else if ( rn == 5 ) {
            painter.setColor( randomColor());
        }else {
            painter.setColor(randomColor());
        }
        painter.move();
        int alternateBalloonRadius = 30;
        SCircle alternateBalloon = new SCircle(alternateBalloonRadius);
        painter.paint(alternateBalloon);
        painter.setColor(Color.BLACK);
        painter.draw(alternateBalloon);
    }

    private Color randomColor() {
        int rv = (int) (Math.random()* 256);
        int gv = (int) (Math.random()* 256);
        int bv = (int) (Math.random() * 256);
        return new Color (rv,gv,bv);
    }

    private void paintSky(SPainter painter) {
        painter.setColor(Color.BLUE);
        SSquare sky = new SSquare(2000);
        painter.paint(sky);
    }
}